P+ - Ice Climbers - Action - 0x113 SpecialS

Entry Script

  1. Subroutine(0x12408)
  2. Subroutine(0x37b84)
  3. CreateInterrupt { interrupt_id: Some(10004), action: FallSpecial, requirement: (AnimationEnd) }
  4. CallEveryFrame { thread_id: 9, script: 0x11fb8 }
  5. if (BoolIsTrue RandomAccessBool(EnableActionTransition))
    1. IntVariableSet { variable: RandomAccessInt (0x0), value: 467 }
    2. IntVariableSet { variable: RandomAccessInt (0x1), value: 469 }
  6. else
    1. IntVariableSet { variable: RandomAccessInt (0x0), value: 466 }
    2. IntVariableSet { variable: RandomAccessInt (0x1), value: 468 }
  7. loop Infinite times:
    1. if (OnGround)
      1. UnknownEvent { namespace: 0x9, code: 0x0, unk1: 0x0, arguments: [Value(0)] }
      2. SetEdgeSlide(StayOn)
      3. if (BoolIsTrue RandomAccessBool(EnableGlide))
        1. SetAirGround(105)
      4. else
        1. if (BoolIsTrue RandomAccessBool(EnableActionTransition))
          1. SetAirGround(102)
        2. else
          1. SetAirGround(101)
      5. if ((InternalConstantInt(CurrentSubaction) Equal RandomAccessInt (0x1)))
        1. UnknownEvent { namespace: 0x4, code: 0x0, unk1: 0x0, arguments: [Variable(Variable { memory_type: RandomAccess, data_type: Int, address: 0 }), Bool(true)] }
      6. else
        1. UnknownEvent { namespace: 0x4, code: 0x0, unk1: 0x0, arguments: [Variable(Variable { memory_type: RandomAccess, data_type: Int, address: 0 })] }
      7. UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: InAir }] }
      8. EnableInterrupt(10000)
      9. DisableInterrupt(10004)
    2. else
      1. UnknownEvent { namespace: 0x9, code: 0x0, unk1: 0x0, arguments: [Value(2)] }
      2. SetEdgeSlide(Airbourne)
      3. if (BoolIsTrue RandomAccessBool(EnableGlide))
        1. SetAirGround(106)
      4. else
        1. if (BoolIsTrue RandomAccessBool(EnableActionTransition))
          1. SetAirGround(104)
        2. else
          1. SetAirGround(103)
      5. if ((InternalConstantInt(CurrentSubaction) Equal RandomAccessInt (0x0)))
        1. UnknownEvent { namespace: 0x4, code: 0x0, unk1: 0x0, arguments: [Variable(Variable { memory_type: RandomAccess, data_type: Int, address: 1 }), Bool(true)] }
      6. else
        1. UnknownEvent { namespace: 0x4, code: 0x0, unk1: 0x0, arguments: [Variable(Variable { memory_type: RandomAccess, data_type: Int, address: 1 })] }
      7. UnknownEvent { namespace: 0x4, code: 0x2, unk1: 0x0, arguments: [Requirement { flip: false, ty: OnGround }] }
      8. DisableInterrupt(10000)
      9. EnableInterrupt(10004)
    3. LoopRest

Exit Script

  1. ControllerUnk02